package cn.yll.common.exception;

/**
 * 通用业务错误异常类
 * @author yangll
 */
public class BsException extends RuntimeException {

    private BsErrEnum bsErrEnum;

    public BsException(BsErrEnum bsErrEnum){
        super(bsErrEnum.getMessage());
        this.bsErrEnum = bsErrEnum;
    }

    /**
     * @param bsErrEnum 接口返回的错误码和错误提示
     * @param message 日志打印的真实代码异常原因
     */
    public BsException(BsErrEnum bsErrEnum, String message) {
        super(message);
        this.bsErrEnum = bsErrEnum;
    }

    public BsException(BsErrEnum bsErrEnum, Throwable cause) {
        super(bsErrEnum.getMessage(), cause);
        this.bsErrEnum = bsErrEnum;
    }

    public BsException(BsErrEnum bsErrEnum, String message, Throwable cause) {
        super(message, cause);
        this.bsErrEnum = bsErrEnum;
    }

    public BsErrEnum getBsErrEnum() {
        return bsErrEnum;
    }
}
